/**
 * 
 */
package code.generate;

import java.io.File;
import java.io.Serializable;

import org.apache.commons.io.filefilter.AbstractFileFilter;
import org.apache.commons.lang.StringUtils;

/**
 * @author "Jiance Qin"
 * 
 * @date 2014年7月15日
 * 
 * @time 上午11:10:14
 * 
 * @desc
 * 
 */
public class ExtensionFileFilter extends AbstractFileFilter implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1854261963420742913L;

	private static final String FILTERING_TYPE = "png,jpg,jpeg,gif";

	public static final ExtensionFileFilter INSTANCE = new ExtensionFileFilter();

	/**
	 * 
	 */
	public ExtensionFileFilter() {

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.apache.commons.io.filefilter.AbstractFileFilter#accept(java.io.File)
	 */
	@Override
	public boolean accept(File file) {
		if (file.isFile()) {
			String fileType = file.getName().replaceAll("^.+\\.", "");
			if (StringUtils.isNotBlank(fileType)) {
				for (String filteringType : FILTERING_TYPE.split("\\,")) {
					if (filteringType.equals(fileType)) {
						return false;
					}
				}
			}
			return true;
		} else {
			return false;
		}
	}
}
